package cn.fuxi2022.accounts.activity.mapper;

import cn.fuxi2022.model.empty.accounts.GroupActivity;
import cn.fuxi2022.model.empty.count.DoughnutChart;
import cn.fuxi2022.model.empty.count.TempChart;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * <p>
 * 社团活动表 Mapper 接口
 * </p>
 *
 * @author Fuxi
 * @since 2022-10-19 08:42:14
 */
@Mapper
public interface GroupActivityMapper extends BaseMapper<GroupActivity> {

    /**
     * 查询活动个数
     */
    int countActivity();

    /**
     * 累计所有活动时长
     */
    int sumActivityTime();

    /**
     * 平均活动时长
     */
    int avgActivityTime();

    /**
     * 各分类活动的数量
     */
    List<DoughnutChart> activityTypeToMap();

    /**
     * 签到人数最多前10个排名活动
     */
    List<TempChart> activityMostStudent();

    /**
     * 参加活动次数最多的前10名用户
     */
    List<TempChart> registerMostStudent();

    /**
     * 当前系统所有活动的签到人数的折线图
     */
    List<TempChart> registerAndActivity();

    /**
     * 当前系统所有活动的时长时间折线图
     */
    List<DoughnutChart> registerAndTime();

    /**
     * 签到人数(去重)
     */
    int activityStudentCount();
}